26097

130 分钟

#C 语言标准库头文件 inttypes.h

这个头文件提供 整数格式转换 的相关功能,例如整数和字符串之间的转换。

#类型

类型标准说明
imaxdiv_tC99保存除法的结果

#函数

函数标准说明
imaxabsC99计算整数的绝对值
imaxdivC99计算整数除法,返回商和余数
strtoimaxC99字符串转 intmax_t
strtoumaxC99字符串转 uintmax_t
wcstrtoimaxC99宽字符串转 intmax_t
wcstrtoumaxC99宽字符串转 uintmax_t

#

printf 格式标准说明
PRId8C99printf 中用于打印 int8_td 格式(有符号十进制)
PRId16C99printf 中用于打印 int16_td 格式
PRId32C99printf 中用于打印 int32_td 格式
PRId64C99printf 中用于打印 int64_td 格式
PRIdPTRC99printf 中用于打印 intptr_td 格式
PRIdMAXC99printf 中用于打印 intmax_td 格式
PRIdFAST8C99printf 中用于打印 int_fast8_td 格式
PRIdFAST16C99printf 中用于打印 int_fast16_td 格式
PRIdFAST32C99printf 中用于打印 int_fast32_td 格式
PRIdFAST64C99printf 中用于打印 int_fast64_td 格式
PRIdLEAST8C99printf 中用于打印 int_least8_td 格式
PRIdLEAST16C99printf 中用于打印 int_least16_td 格式
PRIdLEAST32C99printf 中用于打印 int_least32_td 格式
PRIdLEAST64C99printf 中用于打印 int_least64_td 格式
PRIi8C99printf 中用于打印 int8_ti 格式(有符号十进制)
PRIi16C99printf 中用于打印 int16_ti 格式
PRIi32C99printf 中用于打印 int32_ti 格式
PRIi64C99printf 中用于打印 int64_ti 格式
PRIiPTRC99printf 中用于打印 intptr_ti 格式
PRIiMAXC99printf 中用于打印 intmax_ti 格式
PRIiFAST8C99printf 中用于打印 int_fast8_ti 格式
PRIiFAST16C99printf 中用于打印 int_fast16_ti 格式
PRIiFAST32C99printf 中用于打印 int_fast32_ti 格式
PRIiFAST64C99printf 中用于打印 int_fast64_ti 格式
PRIiLEAST8C99printf 中用于打印 int_least8_ti 格式
PRIiLEAST16C99printf 中用于打印 int_least16_ti 格式
PRIiLEAST32C99printf 中用于打印 int_least32_ti 格式
PRIiLEAST64C99printf 中用于打印 int_least64_ti 格式
PRIu8C99printf 中用于打印 uint8_tu 格式(无符号十进制)
PRIu16C99printf 中用于打印 uint16_tu 格式
PRIu32C99printf 中用于打印 uint32_tu 格式
PRIu64C99printf 中用于打印 uint64_tu 格式
PRIuPTRC99printf 中用于打印 uintptr_tu 格式
PRIuMAXC99printf 中用于打印 uintmax_tu 格式
PRIuFAST8C99printf 中用于打印 uint_fast8_tu 格式
PRIuFAST16C99printf 中用于打印 uint_fast16_tu 格式
PRIuFAST32C99printf 中用于打印 uint_fast32_tu 格式
PRIuFAST64C99printf 中用于打印 uint_fast64_tu 格式
PRIuLEAST8C99printf 中用于打印 uint_least8_tu 格式
PRIuLEAST16C99printf 中用于打印 uint_least16_tu 格式
PRIuLEAST32C99printf 中用于打印 uint_least32_tu 格式
PRIuLEAST64C99printf 中用于打印 uint_least64_tu 格式
PRIo8C99printf 中用于打印 uint8_to 格式(有符号八进制)
PRIo16C99printf 中用于打印 uint16_to 格式
PRIo32C99printf 中用于打印 uint32_to 格式
PRIo64C99printf 中用于打印 uint64_to 格式
PRIoPTRC99printf 中用于打印 uintptr_to 格式
PRIoMAXC99printf 中用于打印 uintmax_to 格式
PRIoFAST8C99printf 中用于打印 uint_fast8_to 格式
PRIoFAST16C99printf 中用于打印 uint_fast16_to 格式
PRIoFAST32C99printf 中用于打印 uint_fast32_to 格式
PRIoFAST64C99printf 中用于打印 uint_fast64_to 格式
PRIoLEAST8C99printf 中用于打印 uint_least8_to 格式
PRIoLEAST16C99printf 中用于打印 uint_least16_to 格式
PRIoLEAST32C99printf 中用于打印 uint_least32_to 格式
PRIoLEAST64C99printf 中用于打印 uint_least64_to 格式
PRIx8C99printf 中用于打印 uint8_tx 格式(有符号十六进制,小写)
PRIx16C99printf 中用于打印 uint16_tx 格式
PRIx32C99printf 中用于打印 uint32_tx 格式
PRIx64C99printf 中用于打印 uint64_tx 格式
PRIxPTRC99printf 中用于打印 uintptr_tx 格式
PRIxMAXC99printf 中用于打印 uintmax_tx 格式
PRIxFAST8C99printf 中用于打印 uint_fast8_tx 格式
PRIxFAST16C99printf 中用于打印 uint_fast16_tx 格式
PRIxFAST32C99printf 中用于打印 uint_fast32_tx 格式
PRIxFAST64C99printf 中用于打印 uint_fast64_tx 格式
PRIxLEAST8C99printf 中用于打印 uint_least8_tx 格式
PRIxLEAST16C99printf 中用于打印 uint_least16_tx 格式
PRIxLEAST32C99printf 中用于打印 uint_least32_tx 格式
PRIxLEAST64C99printf 中用于打印 uint_least64_tx 格式
PRIX8C99printf 中用于打印 uint8_tX 格式(有符号十六进制,大写)
PRIX16C99printf 中用于打印 uint16_tX 格式
PRIX32C99printf 中用于打印 uint32_tX 格式
PRIX64C99printf 中用于打印 uint64_tX 格式
PRIXPTRC99printf 中用于打印 uintptr_tX 格式
PRIXMAXC99printf 中用于打印 uintmaX_tX 格式
PRIXFAST8C99printf 中用于打印 uint_fast8_tX 格式
PRIXFAST16C99printf 中用于打印 uint_fast16_tX 格式
PRIXFAST32C99printf 中用于打印 uint_fast32_tX 格式
PRIXFAST64C99printf 中用于打印 uint_fast64_tX 格式
PRIXLEAST8C99printf 中用于打印 uint_least8_tX 格式
PRIXLEAST16C99printf 中用于打印 uint_least16_tX 格式
PRIXLEAST32C99printf 中用于打印 uint_least32_tX 格式
PRIXLEAST64C99printf 中用于打印 uint_least64_tX 格式
scanf 格式标准说明
SCNd8C99scanf 中用于输入 int8_td 格式(有符号十进制)
SCNd16C99scanf 中用于输入 int16_td 格式
SCNd32C99scanf 中用于输入 int32_td 格式
SCNd64C99scanf 中用于输入 int64_td 格式
SCNdPTRC99scanf 中用于输入 intptr_td 格式
SCNdMAXC99scanf 中用于输入 intmax_td 格式
SCNdFAST8C99scanf 中用于输入 int_fast8_td 格式
SCNdFAST16C99scanf 中用于输入 int_fast16_td 格式
SCNdFAST32C99scanf 中用于输入 int_fast32_td 格式
SCNdFAST64C99scanf 中用于输入 int_fast64_td 格式
SCNdLEAST8C99scanf 中用于输入 int_least8_td 格式
SCNdLEAST16C99scanf 中用于输入 int_least16_td 格式
SCNdLEAST32C99scanf 中用于输入 int_least32_td 格式
SCNdLEAST64C99scanf 中用于输入 int_least64_td 格式
SCNi8C99scanf 中用于输入 int8_ti 格式(有符号十进制)
SCNi16C99scanf 中用于输入 int16_ti 格式
SCNi32C99scanf 中用于输入 int32_ti 格式
SCNi64C99scanf 中用于输入 int64_ti 格式
SCNiPTRC99scanf 中用于输入 intptr_ti 格式
SCNiMAXC99scanf 中用于输入 intmax_ti 格式
SCNiFAST8C99scanf 中用于输入 int_fast8_ti 格式
SCNiFAST16C99scanf 中用于输入 int_fast16_ti 格式
SCNiFAST32C99scanf 中用于输入 int_fast32_ti 格式
SCNiFAST64C99scanf 中用于输入 int_fast64_ti 格式
SCNiLEAST8C99scanf 中用于输入 int_least8_ti 格式
SCNiLEAST16C99scanf 中用于输入 int_least16_ti 格式
SCNiLEAST32C99scanf 中用于输入 int_least32_ti 格式
SCNiLEAST64C99scanf 中用于输入 int_least64_ti 格式
SCNu8C99scanf 中用于输入 uint8_tu 格式(无符号十进制)
SCNu16C99scanf 中用于输入 uint16_tu 格式
SCNu32C99scanf 中用于输入 uint32_tu 格式
SCNu64C99scanf 中用于输入 uint64_tu 格式
SCNuPTRC99scanf 中用于输入 uintptr_tu 格式
SCNuMAXC99scanf 中用于输入 uintmax_tu 格式
SCNuFAST8C99scanf 中用于输入 uint_fast8_tu 格式
SCNuFAST16C99scanf 中用于输入 uint_fast16_tu 格式
SCNuFAST32C99scanf 中用于输入 uint_fast32_tu 格式
SCNuFAST64C99scanf 中用于输入 uint_fast64_tu 格式
SCNuLEAST8C99scanf 中用于输入 uint_least8_tu 格式
SCNuLEAST16C99scanf 中用于输入 uint_least16_tu 格式
SCNuLEAST32C99scanf 中用于输入 uint_least32_tu 格式
SCNuLEAST64C99scanf 中用于输入 uint_least64_tu 格式
SCNo8C99scanf 中用于输入 uint8_to 格式(有符号八进制)
SCNo16C99scanf 中用于输入 uint16_to 格式
SCNo32C99scanf 中用于输入 uint32_to 格式
SCNo64C99scanf 中用于输入 uint64_to 格式
SCNoPTRC99scanf 中用于输入 uintptr_to 格式
SCNoMAXC99scanf 中用于输入 uintmax_to 格式
SCNoFAST8C99scanf 中用于输入 uint_fast8_to 格式
SCNoFAST16C99scanf 中用于输入 uint_fast16_to 格式
SCNoFAST32C99scanf 中用于输入 uint_fast32_to 格式
SCNoFAST64C99scanf 中用于输入 uint_fast64_to 格式
SCNoLEAST8C99scanf 中用于输入 uint_least8_to 格式
SCNoLEAST16C99scanf 中用于输入 uint_least16_to 格式
SCNoLEAST32C99scanf 中用于输入 uint_least32_to 格式
SCNoLEAST64C99scanf 中用于输入 uint_least64_to 格式
SCNx8C99scanf 中用于输入 uint8_tx 格式(有符号十六进制,小写)
SCNx16C99scanf 中用于输入 uint16_tx 格式
SCNx32C99scanf 中用于输入 uint32_tx 格式
SCNx64C99scanf 中用于输入 uint64_tx 格式
SCNxPTRC99scanf 中用于输入 uintptr_tx 格式
SCNxMAXC99scanf 中用于输入 uintmax_tx 格式
SCNxFAST8C99scanf 中用于输入 uint_fast8_tx 格式
SCNxFAST16C99scanf 中用于输入 uint_fast16_tx 格式
SCNxFAST32C99scanf 中用于输入 uint_fast32_tx 格式
SCNxFAST64C99scanf 中用于输入 uint_fast64_tx 格式
SCNxLEAST8C99scanf 中用于输入 uint_least8_tx 格式
SCNxLEAST16C99scanf 中用于输入 uint_least16_tx 格式
SCNxLEAST32C99scanf 中用于输入 uint_least32_tx 格式
SCNxLEAST64C99scanf 中用于输入 uint_least64_tx 格式

#推荐阅读

#示例

#include <stdio.h> #include <inttypes.h> // 提供 strtoimax 和 intmax_t #include <errno.h> // 用于错误检查 int main(void) { const char *str = "123456789012345"; char *endptr; int base = 10; // 十进制 // 重置 errno 以检测错误 errno = 0; // 调用 strtoimax intmax_t num = strtoimax(str, &endptr, base); // 检查转换是否成功 if (errno == ERANGE) { printf("数值超出 intmax_t 范围!\n"); } else if (endptr == str) { printf("未解析到任何数字!\n"); } else { printf("转换结果: %" PRIdMAX "\n", num); // PRIdMAX 是 intmax_t 的格式化宏 } return 0; }

运行结果:

转换结果: 123456789012345

创建于 2025/6/1

更新于 2025/7/29